package cn.net.yugu.doraemon.scheduler;

/**
 * @author xiangzr
 * @version 2023/9/4 15:52:36
 */
public interface JobHandler {

    /**
     * 初始化（若有）
     *
     * @throws Exception
     */
    default void init() throws Exception {
    }

    /**
     * @param shardIndex 分片序号
     * @param shardTotal 分片总数
     * @param jobParam   任务传参
     */
    void execute(int shardIndex, int shardTotal, String jobParam) throws Exception;

    /**
     * 销毁动作（若有）
     *
     * @throws Exception
     */
    default void destroy() throws Exception {
    }
}
